package com.businesscard.system.service;

import com.businesscard.system.entity.Admin;
import java.util.List;

/**
 * 管理员服务接口
 */
public interface AdminService {
    
    /**
     * 管理员登录
     */
    Admin login(String username, String password);
    
    /**
     * 根据ID查询管理员
     */
    Admin getAdminById(Integer id);
    
    /**
     * 根据用户名查询管理员
     */
    Admin getAdminByUsername(String username);
    
    /**
     * 根据邮箱查询管理员
     */
    Admin getAdminByEmail(String email);
    
    /**
     * 查询所有管理员
     */
    List<Admin> getAllAdmins();
    
    /**
     * 添加管理员
     */
    boolean addAdmin(Admin admin);
    
    /**
     * 更新管理员信息
     */
    boolean updateAdmin(Admin admin);
    
    /**
     * 删除管理员
     */
    boolean deleteAdmin(Integer id);
    
    /**
     * 修改密码
     */
    boolean changePassword(Integer id, String oldPassword, String newPassword);
    
    /**
     * 将普通用户提升为管理员
     */
    boolean promoteUserToAdmin(Integer userId);
} 